Public Interface IConnHelper
    Property ConnStr() As String

    Function GetParaHelper() As IParaHelper

    Function exeNonQuery(ByVal sql As String) As Integer
    Function exeNonQuery(ByVal sql As String, ByVal param As IParaHelper) As Integer
    Function exeNonQuery(ByVal sql As String, ByVal sp As CommandType, ByVal param As IParaHelper) As Integer

    Function exeScalar(ByVal sql As String) As Object
    Function exeScalar(ByVal sql As String, ByVal param As IParaHelper) As Object
    Function exeScalar(ByVal sql As String, ByVal sp As CommandType, ByVal param As IParaHelper) As Object

    Function exeStr(ByVal sql As String) As String
    Function exeStr(ByVal sql As String, ByVal param As IParaHelper) As String
    Function exeStr(ByVal sql As String, ByVal sp As CommandType, ByVal param As IParaHelper) As String

    Function exeInt(ByVal sql As String) As Integer
    Function exeInt(ByVal sql As String, ByVal param As IParaHelper) As Integer
    Function exeInt(ByVal sql As String, ByVal sp As CommandType, ByVal param As IParaHelper) As Integer

    Function exeDataRow(ByVal sql As String) As DataRow
    Function exeDataRow(ByVal sql As String, ByVal param As IParaHelper) As DataRow
    Function exeDataRow(ByVal sql As String, ByVal sp As CommandType, ByVal param As IParaHelper) As DataRow

    Function exeTable(ByVal sql As String) As DataTable
    Function exeTable(ByVal sql As String, ByVal param As IParaHelper) As DataTable
    Function exeTable(ByVal sql As String, ByVal sp As CommandType, ByVal param As IParaHelper) As DataTable

    Function GetPagingSQL(ByVal sql As String, ByVal OrderSQL As String, ByVal start As Integer, ByVal count As Integer) As String
End Interface

Public Interface IParaHelper
    Sub addTinyInt(ByVal paraname As String, ByVal value As Object, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addBit(ByVal paraname As String, ByVal value As Object, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addBinary(ByVal paraname As String, ByVal value() As Byte, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addInt(ByVal paraname As String, ByVal value As Object, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addBigInt(ByVal paraname As String, ByVal value As Object, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addChar(ByVal paraname As String, ByVal value As Object, ByVal size As Integer, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addNChar(ByVal paraname As String, ByVal value As Object, ByVal size As Integer, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addVarchar(ByVal paraname As String, ByVal value As Object, ByVal size As Integer, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addNVarchar(ByVal paraname As String, ByVal value As Object, ByVal size As Integer, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addText(ByVal paraname As String, ByVal value As Object, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addNText(ByVal paraname As String, ByVal value As Object, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addSmallDateTime(ByVal paraname As String, ByVal value As Object, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addDateTime(ByVal paraname As String, ByVal value As Object, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub addDecimal(ByVal paraname As String, ByVal value As Object, Optional ByVal direction As ParameterDirection = ParameterDirection.Input)
    Sub ClearParameters()
    Property Parameters() As Collection
    Function GetParameter(ByVal paraname As String) As Object

    Function GetUpdateSQL(ByVal tablename As String, ByVal ParamArray keys() As String) As String
    Function GetInsertSQL(ByVal tablename As String) As String
End Interface